<?php

namespace App\Http\Middleware;

use Illuminate\Auth\Middleware\Authenticate as Middleware;
use Illuminate\Http\Request;

class Authenticate extends Middleware
{
    /**
     * Authenticate 中间件用于验证用户是否已经通过认证（即登录）。如果用户未登录，该中间件将阻止他们访问受保护的路由，并根据配置重定向到登录页面或返回 JSON 错误响应。
     * Authenticate 中间件是 Laravel 的身份验证系统中的核心部分之一，确保只有已登录的用户才能访问特定的资源
     */
    protected function redirectTo(Request $request): ?string
    {
        // $requestData = [
        //     'method' => $request->method(),
        //     'path' => $request->path(),
        //     'fullUrl' => $request->fullUrl(),
        //     'query' => $request->query(),
        //     'input' => $request->all(),
        //     'headers' => $request->headers->all(),
        //     'cookies' => $request->cookies->all(),
        //     'files' => $request->files->all(),
        //     'server' => $request->server->all()
        // ];
        exit (json_encode(['code'=>-1,'msg'=>'登录失效，请重新登录！']));
    }
}
